package models

// Permission [...]
type Permission struct {
	ID         uint   `gorm:"primary_key" json:"id"`
	Title      string `gorm:"unique;column:title;type:varchar(100)" json:"title"`     // 权限名称
	Href       string `gorm:"unique;column:href;type:varchar(255)" json:"href"`       // 权限路径
	Icon       string `gorm:"column:icon;type:varchar(50)" json:"icon"`               // icon
	IsMenu     int8   `gorm:"column:is_menu;type:tinyint" json:"isMenu"`              // 是否是菜单 1：菜单  0：其他
	FontFamily string `gorm:"column:font_family;type:varchar(255)" json:"fontFamily"` // icon 字体
	PID        int    `gorm:"column:p_id;type:int" json:"pId"`                        // 父级id
	Sort       int    `gorm:"column:sort;type:int" json:"sort"`                       // 排序
	AotuTimeModel
}

// TableName get sql table name.获取数据库表名
func (m *Permission) TableName() string {
	return "permission"
}

// PermissionColumns get sql column name.获取数据库列名
var PermissionColumns = struct {
	ID         string
	Title      string
	Href       string
	Icon       string
	IsMenu     string
	FontFamily string
	PID        string
	Sort       string
	CreatedAt  string
	UpdatedAt  string
}{
	ID:         "id",
	Title:      "title",
	Href:       "href",
	Icon:       "icon",
	IsMenu:     "is_menu",
	FontFamily: "font_family",
	PID:        "p_id",
	Sort:       "sort",
	CreatedAt:  "created_at",
	UpdatedAt:  "updated_at",
}
